package com.zys.dao;

import java.util.Map;

import com.zys.pojo.Role;
import com.zys.pojo.Merchant;
import com.github.pagehelper.Page;

/**
 * 处理商家 Dao 层
 */
public interface MerchantDao {
  /**
   * 根据条件查询商家列表
   *
   * @param condition 条件
   * @return 商家列表
   */
  Page<Merchant> findByCondition(String condition);

  /**
   * 根据 id 获取商家信息
   *
   * @param id 商家 id
   * @return 商家实体类
   */
  Merchant findMerchantById(Integer id);

  /**
   * 添加商家
   *
   * @param merchant 商家信息实体类
   */
  void add(Merchant merchant);

  /**
   * 删除商家
   *
   * @param id 商家 id
   */
  void delete(Integer id);

  /**
   * 移除商家和商品的关联
   *
   * @param id 商家 id
   */
  void rmRelation4GoodsAndMerchant(Integer id);

  /**
   * 修改商家基本信息
   *
   * @param merchant 商家基本信息
   */
  void edit(Merchant merchant);

  /**
   * 修改商家角色
   *
   * @param map { mcId: "商家 id", rid: "角色 id"}
   */
  void changeMerchantRole(Map<String, Object> map);

  /**
   * 根据商家 id 查询商家角色
   *
   * @param id 商家 id
   * @return 商家角色
   */
  Role findRoleByMerchantId(Integer id);
}
